The present invention relates in general to data processing systems, and in particular, to data processing system apparatus and methods for the deployment of software packages to client systems.
Typical data processing methodologies for installing, updating and maintaining software on client systems are based on a simple xe2x80x9ccopy files and execute scriptsxe2x80x9d model. In other words, files to be deployed are copied from a server storage area, in accordance with a script, and downloaded to the target client, also in accordance with the script. A script is a sequence of instructions that is interpreted by the scripting language program. Generally, scripts take longer to run than a compiled program, and are typically better suited for programs of limited capability, or that can reuse and tie together existing compiled programs.
With increasing sophistication of data processing systems, generally, and in the operating systems associated therewith, the process of installing or updating software, that is, software deployment, has become much more complex. In addition to merely typing lines of text, installation software must be able to handle registry entries, INI file entries, folders, and shortcuts, for example. The registry, within the Windows(trademark) operating system context, for example, is an operating system database that contains information about the operating system, its applications, and file associations. The registry holds both hardware and software information. The installation software must be able to modify information within the registry data base. Similarly, INI files hold configuration information for applications installed on the data precessing system. Installation software must also be able to modify entries in INI files. Shortcuts are icons presented on the desktop that may be used to provide quick access to the associated application. Installation software must be able to install shortcut information associated with a particular application that is being installed so that the operating system can link the shortcut and the application, as well as display the shortcut on the desktop.
The aforementioned scripting methodologies are complicated to use with a complex configuration process demanded by modern data processing software. For example, the Microsoft(copyright) Office 95 installation program adds, in order of magnitude, a thousand registry entries and several tens of shortcuts. When such large numbers of entries are involved, the scripting methodologies are prone to error, complicating the task of generating the installation software. Additionally, software deployment typically requires that multiple actions be taken on the target machine. Often, an install operation is also accompanied by the need to remove files and entries, as well as the installation of the software elements. This adds to the complexity of the process for generating the required scripts.
Thus, there is need in the art for mechanisms to manage the deployment of software. In particular, there is a need for methods and apparatus for automatically generating software useable for restoring a target system to its original state following a software installation procedure, and additionally, there is a need for apparatus and methods to automatically generate the restoration software during the deployment process.
The aforementioned needs are addressed by the present invention. Accordingly, there is provided, in a first form, ajournaling method. The method includes entering an identifier corresponding to an action contained in a software deployment package in a file, and entering a return value returned by a method included in an interface of the action, wherein the return value is a member of a predetermined set of return values. Each return value of the set is operable for determining a status of the action and determining a behavior of the control flow on the deployment package.
There is also provided, in a second form, a computer program product. The computer program product is in a machine readable storage medium, and includes programming for performing method steps forjournaling during deployment of a software package. The method steps include entering an identifier corresponding to an action contained in a software deployment package in a log file, and entering a return value returned by a method included in an interface of the action, in which the return value is a member of a predetermined set of return values. Each return value of the set is operable for determining a status of the action and determining a behavior of the control flow on the deployment package.
Additionally, there is provided, in a third form, a data processing system. The system contains circuitry for journaling during deployment of a software package. The circuitry includes circuitry operable for entering an identifier corresponding to an action contained in a software deployment package in a file, and circuitry operable for entering a return value returned by a method included in an interface of the action, in which the return value is a member of a predetermined set of return values. Each return value of the set is operable for determining a status of the action and determining a behavior of the control flow on the deployment package.
The foregoing has outlined rather broadly the features and technical advantages of the present invention in order that the detailed description of the invention that follows may be better understood. Additional features and advantages of the invention will be described hereinafter which form the subject of the claims of the invention.